package independence.hibernate;

import java.io.Serializable;

/**
 * Interface defining service-layer-specific methods and properties for 
 * easy creation of new object services by implementation.
 * 
 * @param <T> 	The entity class which this service layer targets.
 * @param <DAO>	The abstract DAO which this service layer uses to work with <code>T</code> objects. 
 * @param <ID>	The type of number variable which <code>T</code> uses as a database index.
 * 
 * @author TK, TK Assembled.
 */
public interface GenericServiceLayer<T, DAO, ID extends Serializable> extends GenericDAO<T, ID> {
	/**
	 * [Spring] Sets the DAO object for this service layer.
	 * @param value
	 */
	public void setDao(DAO value);
}
